package org.lc.stk.service.question;

import java.util.List;

import org.lc.stk.model.question.attrs.DifficultySchema;

public interface DifficultySchemaService {

    /**
     * 创建难度方案
     */
    DifficultySchema create(DifficultySchema schema);

    /**
     * 更新难度方案
     */
    DifficultySchema update(DifficultySchema schema);

    /**
     * 删除难度方案
     */
    void delete(Long id);

    /**
     * 根据ID获取难度方案
     */
    DifficultySchema findById(Long id);

    /**
     * 获取所有难度方案
     */
    List<DifficultySchema> findAll();

    /**
     * 检查名称是否存在
     */
    boolean existsByName(String name, Long excludeId);

    /**
     * 根据难度方案类型获取难度方案
     */
    List<DifficultySchema> findByType(DifficultySchema.Type type);

    /**
     * 获取默认难度方案
     */
    DifficultySchema getDefaultSchema();

    /**
     * 检查难度方案是否存在
     */
    boolean existsById(Long id);
}